package com.ruoyi.waterDistribution.mapper;

import com.ruoyi.common.core.domain.base.datam.StCrossB;
import com.ruoyi.common.core.domain.base.datam.WcChanB;
import com.ruoyi.common.core.domain.business.waterDistribution.WiGetvolM;
import com.ruoyi.common.core.domain.business.waterDistribution.WiOrgplanM;
import com.ruoyi.common.core.domain.business.waterManagement.WrStatvolM;
import com.ruoyi.waterDistribution.vo.WiLandBVo;

import java.util.List;

/**
 * 取水断面月度调水水量计算Mapper接口
 * 
 * @author ps
 * @date 2023-02-16
 */
public interface WiGetvolMMapper 
{
    /**
     * 查询取水断面月度调水水量计算
     * 
     * @param crossCd 取水断面月度调水水量计算主键
     * @return 取水断面月度调水水量计算
     */
    public WiGetvolM selectWiGetvolMByCrossCd(String crossCd);

    /**
     * 查询取水断面月度调水水量计算列表
     * 
     * @param wiGetvolM 取水断面月度调水水量计算
     * @return 取水断面月度调水水量计算集合
     */
    public List<WiGetvolM> selectWiGetvolMList(WiGetvolM wiGetvolM);

    /**
     * 新增取水断面月度调水水量计算
     * 
     * @param wiGetvolM 取水断面月度调水水量计算
     * @return 结果
     */
    public int insertWiGetvolM(WiGetvolM wiGetvolM);

    /**
     * 修改取水断面月度调水水量计算
     * 
     * @param wiGetvolM 取水断面月度调水水量计算
     * @return 结果
     */
    public int updateWiGetvolM(WiGetvolM wiGetvolM);

    /**
     * 删除取水断面月度调水水量计算
     * 
     * @param crossCd 取水断面月度调水水量计算主键
     * @return 结果
     */
    public int deleteWiGetvolMByCrossCd(String crossCd,String getYm);

    /**
     * 批量删除取水断面月度调水水量计算
     * 
     * @param crossCd 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWiGetvolMByCrossCds(String crossCd, String getYm);

    /**
     * 根据渠系获取断面下属地块
     * @param chanCdQuery
     */
    List<WiLandBVo> getLandByChanCd(String chanCdQuery);

    /**
     * 获取渠系信息 -- 利用系数
     * @param chanCd
     * @return
     */
    WcChanB getChanInfo(String chanCd);

    /**
     * 查询渠系下取水断面月旬计划
     * @param year
     * @param chanCdQuery
     * @return
     */
    List<WiGetvolM> getWiGetvolMByGetYmAndChanCd(String year, String chanCdQuery);

    /**
     * 获取断面信息
     * @param crossCd
     * @return
     */
    StCrossB getCrossInfo(String crossCd);

    /**
     * 根据断面获取地块
     * @param crossCd
     * @return
     */
    List<WiLandBVo> getLandByCrossCd(String crossCd);

    List<WiGetvolM> getCroVolYear(String year, String chanCdQuery);

    /**
     * 获取断面名称
     * @param key
     * @return
     */
    String getCrossNm(String key);

    /**
     * 根据年 和 渠道编码 查询下属断面上测站月数据
     * @param year
     * @param chanCdQuery
     * @return
     */
    List<WrStatvolM> getWrStatvolMByYearAndChanCd(String year, String chanCdQuery);
}
